
#pragma once

#include "stdafx.h"

class Camera
{
public:

	Camera ( );
	~Camera ( );

	void SetupTransform ( Blox::Vec const & rPos, Blox::Vec const & rLookAt, Blox::Vec const & rUp );
	void SetupProjection ( float fViewWidth, float fViewHeight, float fFOVY_degrees, float fNear, float fFar );

	inline Blox::Matrix const & GetTransform ( ) const { return m_mTransform; }
	inline Blox::Matrix const & GetProjection ( ) const { return m_mProjection; }

	//////////////////////////////////////////////////////////////////////////

	void MoveRight ( float const val );
	void MoveUp ( float const val );
	void MoveForward ( float const val );




private:
	Blox::Matrix m_mTransform;
	Blox::Matrix m_mProjection;

};


